(Approx. 1,780 words)

Understanding Your Computer's BIOS
by Brian K. Lewis, Ph.D., a Member of the Sarasota Personal Computer Users Group, Inc., Florida
www.spcug.org 
bwsail(at)yahoo.com

Obtained from APCUG with the author's permission for publication by APCUG member groups.

The computer's basic input/output system (BIOS) is really a major key to its proper operation.

The BIOS differs from one computer to another depending on the make of the motherboard and the make of the computer itself. So let's look at what it does and why it is so important for the operation of your computer.

When you wake up your computer by turning on the power, the first component to be activated is the computer processor. The CPU is preprogramed to look for a location in the RAM memory, usually near the end of system memory. This location contains a jump instruction to the location in memory of the BIOS program. On activation the BIOS starts executing a series of diagnostic instructions to verify that the computer is functioning properly. One of the first tests is the power-on self test (POST). If there are any fatal errors the computer will shut down and not proceed further. Some computers have a series of "beep" codes that can help a technician in determining the cause of the failure.

On some computers one of the first indications that the boot process is proceeding normally is the graphics card display on the video screen. This is because the BIOS has found and loaded the video BIOS. Then you will see either a manufacturer's splash screen or the sequence of messages from the BIOS. The BIOS also looks for any other connected devices, such as SCSI or SATA drives, that have a BIOS Read only Memory (ROM) and those instructions will be loaded into memory. If the manufacturer's splash screen isn't hiding the start-up info, you will see the memory count, the floppy, hard drive and CD/DVD drive identification lines appearing on the screen.

The BIOS carries out a system inventory that includes determining the memory timing information, connection of the keyboard, hard drive parameters, plug & play settings, etc. Further it loads the interrupt handlers, initializes the registers and resets the power management. The BIOS also displays a text-based summary screen. This summary includes the CPU and its clock speed, the drives that have been identified, their size and type, system memory size and configuration, video, com ports and parallel ports. Finally the BIOS looks for a boot drive.

Most modern BIOSes can boot from a wide array of devices, not just hard drives. They can boot from CD/DVD, flash drives, or external drives. In every case the BIOS uses the boot sequence information that is stored in the CMOS ROM. This is information that can be changed by the user. The term CMOS stands for Complementary Metal Oxide Semiconductor. Now you see why the name is abbreviated. Once the BIOS identifies the boot drive it searches for the master boot record and starts the operating system boot process on the drive. At that point control of the boot process is taken over by the operating system. Many functions relating to device drivers and plug & play devices handled by the BIOS are now handled directly by Windows.

All of the processes carried out by the BIOS are required to allow the hardware to interface with the operating system. Since the basic hardware in a computer can vary widely depending on the make and model, there must be a common interface for it to communicate with the operating system (OS). The OS cannot incorporate all the necessary low level routines for all the possible combinations of computer hardware. The BIOS provides this common interface.

The BIOS programming is usually contained in a chip on the motherboard referred to as an EEPROM chip. This is a programmable chip that can be altered by using software from the motherboard manufacturer. However, anytime you try to change the programming in this chip you can change it in such a way as to prevent your computer from booting. So great care should be taken anytime you need to upgrade your BIOS. It is always advisable to make a copy of the original BIOS on a removable disk so you can restore it if necessary. So when should you need to upgrade your BIOS? In some cases manufacturers will make BIOS upgrades available which will allow you to upgrade your CPU with a newer version. Or they make a change to allow the BIOS to recognize faster system memory or more memory. You must always ensure that the BIOS upgrade you plan on installing is specific for your motherboard. So you need to know the manufacturer and the motherboard model. Just remember, a mistake may make your computer unusable, requiring a major repair such as replacing the motherboard. Unless, of course, you made a backup of the original BIOS.

The CMOS portion of the BIOS is also very important to the proper function of your computer. The settings in the CMOS are retained by use of a low-voltage battery on the motherboard. In some few modern motherboards you can no longer find the battery. That's because it is integrated into another chip and is non-replaceable. Although the battery may have a long life span (more than five years), some computers are still going strong after ten years. Some motherboards may use nonvolatile RAM that doesn't require a battery to keep the information safe. In this case the battery, if one is present, is used only for the real-time clock. So when the battery fails, the computer can still boot.

In order to change any of the CMOS settings you have to use a key stoke, or series of key strokes, during the early part of the boot-up process. The most common keystroke is that of the AMI BIOS that uses just the DEL key to access the setup program. However, some manufacturers use other specific keystrokes and may even vary the combination from one model to another. So it is advisable that you check your owner's manual for specific instructions on how to access the setup program in your computer. This setup may be called the BIOS setup, the CMOS setup or some combination of these terms.

The setup program allows you to change some parameters related to the operation of your computer. Generally you can set the system time and date in the CMOS. As mentioned earlier, you can change the boot sequence in the CMOS to select the order in which the BIOS will look for a bootable drive. The CMOS setup allows you to specify how fast your computer reads from memory, whether or not your CPU's cache is enabled or disabled and how fast your PCI bus communicates with its adapter cards. In the advanced settings, you can modify other parameters such as power management, USB settings, and enable or disable I/O ports. You may also be able to set the computer to turn on in response to an incoming call on a modem or a request via a local network. In some motherboards the CMOS settings allow you to "overclock" your system. This means that you can set your CPU and/or system memory to operate at a frequency higher than the standard manufacturers' values. Unless used with great care, changing these values can destabilize the computer operation. The settings in the CMOS will vary depending on the computer manufacturer and the make of the BIOS. Some manufacturers make their own BIOS chips while others purchase them from companies such as AMI, Phoenix or WinBond. Reading your user manual or motherboard manual will give you a better idea of just what is included in your setup program.

The setup program uses a "CMOS checksum" as an error-detecting code. Each time you change the BIOS settings, the checksum is generated by adding all the bytes in the CMOS memory and then storing the lowest byte of the sum. Then, each time the system is booted, the system recomputes the checksum and compares it with the stored value. If they are different, then the system knows that the CMOS has been corrupted somehow and will warn you with an error, typically something like "CMOS Checksum Error". Then you need to enter the setup program and check the settings. Usually, once you save the settings and exit setup, the computer will boot normally.

Most of the preceding information applies when you first start the computer after it has been off for a time. This is called a "cold boot". If you restart your computer from Windows using the "restart" selection, or the "three-finger salute" (CTRL-ALT-Del), or the "reset" button, then this is a "warm boot". Then most of the POST is omitted and the BIOS reloads interrupts, device drivers, checks the CMOS and loads the peripheral BIOSes. Then the memory, drives and summary are displayed on the video screen.

As I hope you now realize, the BIOS and its associated CMOS are essential for the operation of your computer. Always be cautious in making changes in the setup or in updating your BIOS. That way you can ensure continued operation of your system.

There is another thing I should mention. Use of the BIOS originated with the IBM AT some twenty-five years ago. As computer technology has changed radically in this time span, there is a move afoot to replace the BIOS with what is referred to as "UEFI" or Unified Extensible Firmware Interface. The specifications for this interface were first published in October 2006 and revised in January 2007. The statement of purpose from the UEFI organization is as follows: "The Unified Extensible Firmware Interface (UEFI) specification defines a new model for the interface between operating systems and platform firmware. The interface consists of data tables that contain platform-related information, plus boot and runtime service calls that are available to the operating system and its loader. Together, these provide a standard environment for booting an operating system and running pre-boot applications."

Currently the companies involved are working on producing motherboards using the UEFI firmware in place of the BIOS. However, there is also some consideration that some users may need to have both a BIOS and the UEFI firmware. Since this process is still in flux, keep tuned for future developments.

*Dr. Lewis is a former university & medical school professor. He has been working with personal computers for more than thirty years. He can be reached via e-mail at bwsail@yahoo.com.

This article has been provided to APCUG by the author solely for publication by APCUG member groups. All other uses require the permission of the author (see e-mail address above).